import Vue from 'vue';
import App from './App.vue';
import router from '@/core/router';
import store from '@/store';

// import Storage from 'vue-ls'

// 注入插件
import inject from '@/core/inject';

import hasPermission from '@/utils/hasPermission'

// 引入国际化
import i18n from '@/locale/index'

import Antd from 'ant-design-vue'
// 初始化样式
import '@/common/css/index.less';
import AuthButton from '@/components/src/Auth'
import AYearPicker from '@/components/src/AYearPicker'

// @ts-ignore
import dataV from '@jiaminghi/data-view'

// @ts-ignore
import VueCropper from 'vue-cropper'
// 打印功能
// @ts-ignore
import Print from 'vue-print-nb'
Vue.use(Print);

import 'xe-utils'
import VXETable from 'vxe-table'
import 'vxe-table/lib/style.css'
// @ts-ignore
import Dialog from '@/components/src/Dialog.js'
// @ts-ignore
import VueContextMenu from 'vue-contextmenu'

Vue.use(VueContextMenu)

Vue.use(VXETable)
Vue.use(Dialog)
Vue.use(dataV)

// 引入指令
// require('@/directives')

Vue.use(inject)
Vue.use(hasPermission)
Vue.use(Antd)
Vue.use(VueCropper)
Vue.component('AButton', AuthButton)
Vue.component('AYearPicker', AYearPicker)

Vue.config.productionTip = false;

new Vue({
  router,
  store,
  i18n,
  render: (h) => h(App),
}).$mount('#app');
